package com.yq.cp.service.yw.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yq.cp.config.MyException;
import com.yq.cp.entity.yw.YwZbgl;
import com.yq.cp.entity.yw.YwZbglXq;
import com.yq.cp.entity.yw.YwZbglZbsj;
import com.yq.cp.mapper.yw.YwZbglMapper;
import com.yq.cp.mapper.yw.YwZbglXqMapper;
import com.yq.cp.mapper.yw.YwZbglZbsjMapper;
import com.yq.cp.service.yw.YwZbglZbsjService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yq.cp.utils.DateTimeUtil;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 运维-值班管理-值班时间 服务实现类
 * </p>
 *
 * @author zh
 * @since 2024-09-07
 */
@Service
public class YwZbglZbsjServiceImpl extends ServiceImpl<YwZbglZbsjMapper, YwZbglZbsj> implements YwZbglZbsjService {

    @Resource
    YwZbglZbsjMapper ywZbglZbsjMapper;
    @Resource
    YwZbglXqMapper ywZbglXqMapper;
    @Resource
    YwZbglMapper ywZbglMapper;
    @Override
    public void add(YwZbglZbsj ywZbglZbsj) {
        ywZbglZbsjMapper.insert(ywZbglZbsj);


        QueryWrapper<YwZbgl> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("nyz_id",ywZbglZbsj.getSszdId());
        List<YwZbgl> ywZbgls = ywZbglMapper.selectList(queryWrapper);
        if (ywZbgls==null || ywZbgls.size()==0){
            throw new MyException("添加失败");
        }
        Integer day=4;
        for (int i = 0; i < ywZbgls.size(); i++) {
            YwZbgl ywZbgl = ywZbgls.get(i);
            YwZbglXq xq=new YwZbglXq();
            xq.setZbsjId(ywZbglZbsj.getId());
            xq.setZbglId(ywZbgl.getId());
            xq.setKssj(ywZbglZbsj.getKssj());
            xq.setJssj(ywZbglZbsj.getJssj());
            xq.setZbsj(ywZbglZbsj.getLx());
            xq.setSj(DateTimeUtil.toSimpleDate("2024-01-"+day));
            ywZbglXqMapper.insert(xq);
            day++;


//            QueryWrapper<YwZbglXq> queryWrapper1=new QueryWrapper<>();
//            queryWrapper1.eq("zbgl_id",ywZbgl.getId());
//            Long aLong = ywZbglXqMapper.selectCount(queryWrapper1);
//            YwZbgl ywZbgl1 = ywZbglMapper.selectById(ywZbgl.getId());
//            ywZbgl1.setMaxNumber(aLong);
//            ywZbglMapper.updateById(ywZbgl1);
        }
    }

    @Override
    public void update(YwZbglZbsj ywZbglZbsj) {
        YwZbglZbsj ywZbglZbsj1 = ywZbglZbsjMapper.selectById(ywZbglZbsj.getId());
        if (ywZbglZbsj1!=null){
            ywZbglZbsj1.setLx(ywZbglZbsj.getLx());
            ywZbglZbsj1.setKssj(ywZbglZbsj.getKssj());
            ywZbglZbsj1.setJssj(ywZbglZbsj.getJssj());
            ywZbglZbsjMapper.updateById(ywZbglZbsj1);

            QueryWrapper<YwZbglXq> queryWrapper=new QueryWrapper<>();
            queryWrapper.eq("zbsj_id",ywZbglZbsj1.getId());
            List<YwZbglXq> ywZbglXqs = ywZbglXqMapper.selectList(queryWrapper);
            for (int i = 0; i < ywZbglXqs.size(); i++) {
                YwZbglXq xq = ywZbglXqs.get(i);
                xq.setKssj(ywZbglZbsj1.getKssj());
                xq.setJssj(ywZbglZbsj1.getJssj());
                xq.setZbsj(ywZbglZbsj1.getLx());
                ywZbglXqMapper.updateById(xq);
            }
        }
    }

    @Override
    public void sc(YwZbglZbsj ywZbglZbsj) {

        ywZbglZbsjMapper.sc(ywZbglZbsj.getId());
        QueryWrapper<YwZbglXq> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("zbsj_id",ywZbglZbsj.getId());
        List<YwZbglXq> ywZbglXqs = ywZbglXqMapper.selectList(queryWrapper);
        for (int i = 0; i < ywZbglXqs.size(); i++) {
            YwZbglXq xq = ywZbglXqs.get(i);
            ywZbglXqMapper.sc(xq.getId());
        }
    }

    @Override
    public List<YwZbglZbsj> all(YwZbglZbsj ywZbglZbsj) {
        QueryWrapper<YwZbglZbsj> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("sszd_id",ywZbglZbsj.getSszdId());
        List<YwZbglZbsj> ywZbglZbsjs = ywZbglZbsjMapper.selectList(queryWrapper);
        return ywZbglZbsjs;
    }
}
